package com.lanou3g.code0420;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * Created by dllo on 18/4/20.
 */
public class Server {
    //并发 ECHO 服务器
    // echo 服务器 是常见的一种小型服务器
    // 作用,将客户端发送来的数据,原封不动的/
    //再发回给客户端
    //这样 客户端 可以方便的判断 服务器 是否好用

    public static void main(String[] args) {
        try {
            //创建一个Socket服务器对象
            //在 创建的时候绑定端口号
            // 注意 如果你重复运行该代码
            //会出现端口号被占用异常
            ServerSocket ss = new ServerSocket(2333);
            System.out.println("服务器已启动,等待链接");
            //accept () 方法是socket服务器等待
            // 客户端的接入,如果没有客户端的接入
            //则代码会在这一行一直等下去
            Socket client = ss.accept();
            //client.getRemoteSocketAddress
            //可以获得客户端的IP地址和端口号
            System.out.println("有一个客户端接入:"+
                    client.getRemoteSocketAddress()  );
            while (true) {
                //为每个客户端创建线程
                new EchoThread(client).start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
